// 菜单记录
var menus_dict = {
    "menus": {
        "user": "用户管理",
        "robot": "设备管理",
        "questlist": "任务管理",
        "executionhistory": "执行记录",
        "serverfile": "文件管理"
    },
    "body_menus": {
        "user": {
            "user/all": "用户总览",
            "user/new": "用户新增",
            "user/set": "信息修改",
            "user/del": "删除用户"
        },
        "robot": {
            "WorkingCondition": "设备状态",
            "robot/info/set": "信息修改",
            "robot/info/new": "设备新增",
            "robot/info/del": "设备删除"
        },
        "questlist": {
            "Quest_list": "任务总览",
            "start_flow": "执行任务",
            "stop_flow": "结束任务",
            "quest/new": "任务新增",
            "quest/set": "任务配置",
            "quest/del": "任务删除"
        },
        "executionhistory": {
            "Execution_history": "执行历史",
            "FlowRunningRecord": "任务进度"
        },
        "serverfile": {
            "FileUpload": "上传文件",
            "file/history": "上传历史",
            "file/del": "删除文件",
            "Preview": "文件预览"
        }
    },
    "placeholder": {
        "user/all": {},
        "user/new": {},
        "user/set": {},
        "user/del": "删除用户",
        "WorkingCondition": "设备状态",
        "robot/info/set": "信息修改",
        "robot/info/new": "设备新增",
        "robot/info/del": "设备删除",
        "Quest_list": "任务总览",
        "start_flow": "执行任务",
        "stop_flow": "结束任务",
        "quest/new": "任务新增",
        "quest/set": "任务配置",
        "quest/del": "任务删除",
        "Execution_history": "执行历史",
        "FlowRunningRecord": "任务进度",
        "FileUpload": "上传文件",
        "file/history": "上传历史",
        "file/del": "删除文件",
        "Preview": "文件预览"
    }
}
function innet_post(url, data) {
    return new Promise((resolve, reject) => {
        $.ajax({
            url: url,
            type: 'POST',
            dataType: 'json',
            contentType: 'application/json', // 如果服务器需要JSON格式的请求体
            data: JSON.stringify(data), // 将data对象序列化为JSON字符串
            success: function (response) {
                // 假设服务器返回的数据结构是 { status: ..., data: ... }
                if (response.status === 0) {
                    resolve(response); // 解析Promise并返回数据
                } else {
                    reject(new Error('Request failed with status: ' + response));
                }
            },
            error: function (xhr, status, error) {
                reject(new Error('AJAX request failed: ' + error));
            }
        });
    });
};


// 更新 元素
function div_loadingl(id_name, value) {
    const element = document.getElementById(id_name);
    if (element) {
        element.innerHTML = value;
    } else {
        console.log(`Element with id '${id_name}' not found in the DOM.`);
    }
};
function menus_join() {
    let data = menus_dict['menus'];
    let mode = `<div class='menu'><div class='vl_menu' onclick='menu_switch("{id}")'>{name}</div></div>`
    mode_list = [];
    Object.keys(data).forEach(key => {
        let temp = mode
            .replace(/{id}/g, key) // 使用全局替换确保所有都被替换
            .replace(/{name}/g, data[key]);
        mode_list.push(temp); // 将每个生成的HTML片段添加到数组中
    });
    mode_str = mode_list.join('')
    return mode_str;
};

// 初始加载页面
function loading_menus() {
    var menus_div = menus_join();
    div_loadingl('menus', menus_div)
    // 设置二级菜单为白色。
    var myDiv = document.getElementById('data_menu');
    myDiv.style.backgroundColor = 'rgba(255, 255, 255, 0)'; // 使用 rgba 设置白色但完全透明     // 设置文本颜色
};

// 加载二级菜单
function menu_switch(id) {
    // 还原二级菜单背景色
    var myDiv = document.getElementById('data_menu');
    myDiv.style.backgroundColor = 'rgba(193, 246, 255, 0.675)'; // 使用 rgba 设置

    // 获取二级菜单元素
    let data = menus_dict['body_menus'][id];
    let mode = `<span id='{id}' onclick='background_color("{id}")'>{name}</span>`
    mode_list = [];
    Object.keys(data).forEach(key => {
        let temp = mode
            .replace(/{id}/g, key) // 使用全局替换确保所有都被替换
            .replace(/{name}/g, data[key]);
        mode_list.push(temp); // 将每个生成的HTML片段添加到数组中
    });
    mode_str = mode_list.join('')

    // 加载二级菜单
    div_loadingl('data_menu', mode_str);
};

function loading_page(id_url) {
    /*
    加载页面, 页面数据单独存储
    */
    let log_s = "{{server_ip}}"
    console.log(log_s)
    innet_post('http://192.168.0.192:10801/login', { 'username': 'admin', 'password': '123456' })
        .then(result => {
            // 在这里处理接口返回的值
            console.log('API result:', result);
            // 你可以在这里对result进行进一步的处理
        })
        .catch(error => {
            // 处理任何错误，包括AJAX请求失败和状态码非0的情况
            console.error('An error occurred:', error);
        });

};
loading_page('');
// 具体页面数据
function user_all(){

};
